package com.procurement.inquiry.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.api.domain.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 申请明细对象 pcm_application_detail
 * 
 * @author ruoyi
 * @date 2023-11-22
 */
public class PcmApplicationDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 明细id */
    private Long detailId;

    /** 采购申请编号 */
    @Excel(name = "采购申请编号")
    private String purchaseRequestNumber;

    /** 产品编号 */
    @Excel(name = "产品编号")
    private String productNumber;
    @Excel(name = "产品名称")
    private String productName;
    @Excel(name = "单位")
    private String unit;
    private SysUser userlist;



    /** 需求行号 */
    @Excel(name = "需求行号")
    private Long demandLineNumber;

    /** 需求数量 */
    @Excel(name = "需求数量")
    private Long requiredQuantity;

    /** 期望到货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "期望到货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expectedDeliveryDate;

    /** 期望供应商 */
    @Excel(name = "期望供应商")
    private String expectedSupplier;

    /** 供应商状态 */
    @Excel(name = "供应商状态")
    private Long supplierStatus;

    /** 需求行号状态 */
    @Excel(name = "需求行号状态")
    private Long demandLineStatus;

    /** 申请单id */
    @Excel(name = "申请单id")
    private Long requestId;

    /** 询报价需求申请编号 */
    @Excel(name = "询报价需求申请编号")
    private String inquiryDemandNumber;

    private ProductNumber productNumbera;

    private PcmSupplier pcmSupplier;
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
    private Date applicationDate;

    public Date getApplicationDate() {
        return applicationDate;
    }

    public void setApplicationDate(Date applicationDate) {
        this.applicationDate = applicationDate;
    }

    public SysUser getUserlist() {
        return userlist;
    }

    public void setUserlist(SysUser userlist) {
        this.userlist = userlist;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public PcmSupplier getPcmSupplier() {
        return pcmSupplier;
    }

    public void setPcmSupplier(PcmSupplier pcmSupplier) {
        this.pcmSupplier = pcmSupplier;
    }

    public ProductNumber getProductNumbera() {
        return productNumbera;
    }

    public void setProductNumbera(ProductNumber productNumbera) {
        this.productNumbera = productNumbera;
    }

    public void setDetailId(Long detailId)
    {
        this.detailId = detailId;
    }

    public Long getDetailId() 
    {
        return detailId;
    }
    public void setPurchaseRequestNumber(String purchaseRequestNumber) 
    {
        this.purchaseRequestNumber = purchaseRequestNumber;
    }

    public String getPurchaseRequestNumber() 
    {
        return purchaseRequestNumber;
    }
    public void setProductNumber(String productNumber) 
    {
        this.productNumber = productNumber;
    }

    public String getProductNumber() 
    {
        return productNumber;
    }
    public void setDemandLineNumber(Long demandLineNumber) 
    {
        this.demandLineNumber = demandLineNumber;
    }

    public Long getDemandLineNumber() 
    {
        return demandLineNumber;
    }
    public void setRequiredQuantity(Long requiredQuantity) 
    {
        this.requiredQuantity = requiredQuantity;
    }

    public Long getRequiredQuantity() 
    {
        return requiredQuantity;
    }
    public void setExpectedDeliveryDate(Date expectedDeliveryDate) 
    {
        this.expectedDeliveryDate = expectedDeliveryDate;
    }

    public Date getExpectedDeliveryDate() 
    {
        return expectedDeliveryDate;
    }
    public void setExpectedSupplier(String expectedSupplier) 
    {
        this.expectedSupplier = expectedSupplier;
    }

    public String getExpectedSupplier() 
    {
        return expectedSupplier;
    }
    public void setSupplierStatus(Long supplierStatus) 
    {
        this.supplierStatus = supplierStatus;
    }

    public Long getSupplierStatus() 
    {
        return supplierStatus;
    }
    public void setDemandLineStatus(Long demandLineStatus) 
    {
        this.demandLineStatus = demandLineStatus;
    }

    public Long getDemandLineStatus() 
    {
        return demandLineStatus;
    }
    public void setRequestId(Long requestId) 
    {
        this.requestId = requestId;
    }

    public Long getRequestId() 
    {
        return requestId;
    }
    public void setInquiryDemandNumber(String inquiryDemandNumber) 
    {
        this.inquiryDemandNumber = inquiryDemandNumber;
    }

    public String getInquiryDemandNumber() 
    {
        return inquiryDemandNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("detailId", getDetailId())
            .append("purchaseRequestNumber", getPurchaseRequestNumber())
            .append("productNumber", getProductNumber())
            .append("demandLineNumber", getDemandLineNumber())
            .append("requiredQuantity", getRequiredQuantity())
            .append("expectedDeliveryDate", getExpectedDeliveryDate())
            .append("expectedSupplier", getExpectedSupplier())
            .append("supplierStatus", getSupplierStatus())
            .append("demandLineStatus", getDemandLineStatus())
            .append("requestId", getRequestId())
            .append("inquiryDemandNumber", getInquiryDemandNumber())
            .toString();
    }
}
